package com.ys.service.amazonorder;

import java.util.Map;

import com.amazon.SellingPartnerAPIAA.AWSAuthenticationCredentials;
import com.amazon.SellingPartnerAPIAA.AWSAuthenticationCredentialsProvider;
import com.ys.entity.business.TpAmazonShopExchangeRate;

public interface TpAmazonSellerReportService {

    /**
     * 添加店铺订单报告
     */
    void add(String sellerId, String latestUpdateDayBegin, String latestUpdateDayEnd,
			Map<String, AWSAuthenticationCredentials> MAP_REGION_Credentials,
    		AWSAuthenticationCredentialsProvider awsAuthenticationCredentialsProvider);

    /**
     * 更新店铺订单报告文件ID
     */
    void updateReportDocumentId(Long id,
			Map<String, AWSAuthenticationCredentials> MAP_REGION_Credentials,
    		AWSAuthenticationCredentialsProvider awsAuthenticationCredentialsProvider) throws Exception;

    /**
     * 获取报告文件并解析
     */
    void finish(Long id, Map<String, TpAmazonShopExchangeRate> MAP_CODE_RATE,
    		Map<String, AWSAuthenticationCredentials> MAP_REGION_Credentials,
    		AWSAuthenticationCredentialsProvider awsAuthenticationCredentialsProvider) throws Exception;

    /**
     * 完成所有报告
     * @param type 类型，1需等待完成，2强行完成
     * @throws Exception
     */
    void finishAll(Integer type) throws Exception;
}